Systems and methods for golfing simulation and swing analysis

ABSTRACT

A golf swing simulation and analysis system includes a golf simulator and club/ball monitor system which is integrated with a system that senses information concerning the golfer&#39;s body position and movement through a high resolution pressure mat placed under the golfer&#39;s feet. Data obtained from the pressure mat before, during and after the golf swing is analyzed and presented to the golfer in synchronization with both captured video images of the golf swing and data collected from the golf swing simulation and analysis system concerning striking of the golf ball. The system is used not only in a training mode but also in an entertainment mode.

PRIORITY CLAIM

This application claims the benefit of U.S. Provisional Application for Patent No. 60/762,913 filed Jan. 27, 2006, the disclosure of which is hereby incorporated by reference.

BACKGROUND OF THE INVENTION

1. Technical Field of the Invention

The present invention relates to systems and methods for golfing simulation and swing analysis. It will be understood that the systems and methods may have application to any number of physical motion training and instruction activities beyond golfing.

2. Description of Related Art

Applicants note the following United States patents and patent applications, the disclosures of which are hereby incorporated by reference: U.S. Pat. Nos. 6,567,536 B2; 6,537,076 B2; US 2002/0114493 A1; US 2002/0115046 A1; and US 2002/0115047 A1.

SUMMARY OF THE INVENTION

The Practice Bay System and Method of the present invention is a completely automated swing analysis and simulation system and method. The system and method is capable of automatically capturing and replaying video of the player's swing from multiple angles, calculating and rendering ball flight as well as swing statistics, determining the position of the player's feet throughout the swing and determining weight transfer between the player's feet throughout the swing with no direct interaction with the system. Other features and operations, as described below, are also supported.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the method and apparatus of the present invention may be acquired by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings wherein:

FIG. 1 is a block diagram of the system in accordance with the present invention;

FIG. 2 describes the partitioning of the software system used in connection with the hardware shown in FIG. 1;

FIG. 3 shows a screen shot for the system; and

FIG. 4 shows another screen shot for the system.

DETAILED DESCRIPTION OF THE DRAWINGS

A block diagram of the system in accordance with the present invention is shown in FIG. 1. The major components of the system as illustrated in FIG. 1 are as follows:

-   -   A golf simulator and club/ball monitor system. For example, a         TruGolf simulator and club/ball monitor (see, www.trugolf.com).         The golf simulator and club/ball monitor system operates to         sense (through the TruGolf club sensor 10) club head speed, club         face angle, and club swing path through the ball striking zone         and based on those measurements, with input on club selection,         calculate (with the TruGolf computer/processing unit 12) ball         flight statistics and ball flight path. Swing tempo, impact and         other measurements may be made as well (through appropriate         sensors, not explicitly shown but perhaps integrated in the         sensor 10) and used in the previously mentioned calculations.         The operation and configuration of such a golf simulator and         club/ball monitor system is well known to those skilled in the         art. The golf simulator and club/ball monitor system in a         preferred implementation further includes with respect to the         processing unit 12 a video rendering functionality whereby the         calculated ball flight path can be video presented in a 2D/3D         display (such as using a CRT projector 14 and screen 16). Still         further, the golf simulator and club/ball monitor system in a         preferred implementation includes the capability to simulate a         practice range environment, a golf hole environment and/or a         golf course environment wherein the calculated ball flight is         rendered in the context of the simulated environment so as to         simulate for the golfer the taking of an actual shot in outdoor         environmental conditions. A touch screen input 18 is provided as         a GUI for the golf simulator and club/ball monitor system.     -   One or more video cameras 20. For example, a Basler A311fc—73         frames per second color camera—www.basler-vc.com. The camera(s)         is used to take high speed video images of the player's swing         from one or more selected angles (such as, top, left/right side,         behind).     -   A multisensor array pressure sensitive mat 22. For example, a         38″×38″ pressure sensitive mat with 1024 pressure sensors         connected in a 32×32 array with a sensor spacing of 1.1″. Such a         pressure mat can be obtained as a custom design from Sensor         Products (www.sensorprod.com). The mat is capable of sampling         pressure data from the sensor array at, for example, 85 frames         per second. The pressure mat is used to dynamically capture for         analysis the player's weight distribution and foot position at         set-up, during the swing and at finish.     -   Studio lighting—multiple spot lights 24 with a computer         controlled dimmer 26. The studio lighting is designed to         illuminate the player during the golf swing so that the         camera(s), mentioned above, can obtain video of the player's         swing. Any suitable controllable dimmer may be used with the         goal that activation of the studio lights is controlled to occur         only when necessary, such as when the camera(s) is operating.         The dimmer system may comprise a DMX20L dimmer 26 from Elation         Lighting (www.elationlighting.com) and a DMX USB Pro 28 from         ENTTEC (www.enttec.com).     -   A Video switch 34 which toggles the projector 14 screen input         between the practice bay computer (processing unit) 30 and the         golf simulator and club/ball monitor system computer (processing         unit) 12.     -   An automatic teeing and ball return mechanism 36. For example,         such a mechanism as provided by Brown and Company. This         mechanism functions to collect struck golf balls and then         automatically tee the golf balls at a controllable tee height         for the player to hit.

The components of the system which have not been described above but which are otherwise shown in FIG. 1 or would be used in a system configured as in FIG. 1 have a configuration, operation and use that is well known to those skilled in art when considering the presented block diagram layout showing interconnections between the included components. Additional technical description of the system, its components and interconnections is presented below.

Device Interfaces

1. Video cameras: The video cameras are connected via a standard firewire interface. The software for the system uses a software development kit provided by Basler to collect frames and control camera parameters over this interface. The VideoPlayer plug in is responsible for all camera interfaces.

2. DMX Controller: The DMX USB Pro 28 is connected to the computer via a standard USB interface. The system issues dimming commands using a protocol proprietary to the DMX USB Pro. The DMX USB Pro is then responsible for sending DMX packets to the connected DMX devices. In this case, one or more DMX20L 26 DMX devices are connected to the USB Pro 28. The lights 24 are then connected to the DMX20L completing the required interfaced needed to control the lights.

3. Pressure Mat 22: The Pressure Mat is connected to the computer via a standard USB interface.

4. Video Switch 34: The video switch is connected to the computer using a standard RS232 interface.

5. Automatic Tee 36: The automatic tee is connected to the computer using s standard RS232 interface.

An appropriate USB hub 38 is provided to make the necessary USB interconnections.

The system further includes a number of monitors 40 on which information and images may be displayed. One monitor may be placed on the floor near the automatic tee 36 and sensor 10 so that it may be easily viewed by the user at address. Another monitor may be mounted on a wall away from the user at address, but nonetheless still visible to the user. The monitors may be configured by computer 30 to show images from different cameras, or otherwise may be configured to show different information as desired.

In addition to the use of the TruGolf touch screen 18 as an input device (through its GUI interface), the system may further include a keyboard 44 and mouse 46 through which a user or other individual may input information to the computers 12 and 30 or otherwise specify operational commands.

The software system executed by computer 30 is a proprietary extensible plug in based software system. The block diagram in FIG. 2 describes the partitioning of the software system.

The system controller 100 parses a configuration file which describes the supported plug in DLLs (Microsoft Dynamic Link Libraries) and their initialization parameters. Each plug in is dynamically loaded and initialized with customizable parameters defined in the configuration file. Once initialized, the system loads the default view specified in the configuration file. The view describes a user interface graphical user interface layout. It specifies which plug ins are responsible for graphically rendering the view and the location and size of the area the plug in renders. Once the view is loaded, the system controller starts a thread which periodically loops through all active plug ins and calls render on each plug in. The system controller constructs a Graphics object which maps to the portion of the screen defined in the view and passes that object to the plug ins render implementation.

The following discussion addresses some plug ins supported by the system:

DMXController 102: Exports a light intensity control mechanism and implements the communication protocol necessary to control the DMX based dimmer.

LaunchMonitor 104: A generic plug in type that exports a mechanism for monitoring a launch monitor device and asynchronously notifying “Listeners” when a ball is hit. This notification includes all of the launch conditions supported by the launch monitor: ball speed, clubhead speed, launch angle, club face angle, club path angle, impact position (toe, center, heel).

Camera 106: Provides an interface for capturing and time stamping frames from a camera and collecting those frame in a circular buffer; Provides an interface for “saving a swing.” Saving a swing results in copying and compressing frames from the buffer based on a time span in milliseconds corresponding to the time stamps; Provides an interface for converting raw camera data into RGB color values; Provides an interface for controlling camera parameters: brightness, gain, and shutter speed.

PressureMat 108: Provides an interface for capturing and time stamping frames from a pressure sensor array and collecting those frames in a circular buffer; Provides an interface for “saving a swing” which results in copying frames from the buffer based on a time span in milliseconds corresponding to the time stamps; Provides an interface for displaying saved swing sequences: (wherein Filters are applied to remove noise; Calibration equations are applied to convert raw data into PSI (pounds per square inch) values; Spatial interpolation algorithms are applied to enhance the resolution of the sensor; Curve fitting algorithms are applied to generate a more natural looking image; Feature recognition algorithms are applied to derive the following: Position of each foot; Ball position; Stance width; Stance alignment (in degrees); Weight distribution between feet (i.e., 45% left, 55% right); Center of gravity).

The PressureMat further: Provides a motion analysis interface to identify key positions: Address; 9 o'clock (backswing); Top of backswing; 9 o'clock (downswing); Impact; 3 o'clock (through swing); Finish position.

VideoSwitchDriver 110: Provides an interface to control the video input directed to the projector.

AutomaticTee 112: Provides an interface for retrieving and setting the tee height of the automatic teeing machine.

VideoPlayer 114: Provides a mechanism to replay saved video files; Provides a mechanism to create overlay graphics and notes for instructor illustrations.

This system is unique with respect to the seamless and automated manner in which all of the components are integrated and in its ability to use floor pressure sensors (from the pressure mat) as a control mechanism for assisting in system automation and further for providing valuable data used, or manipulated, by the system for swing analysis, golf course play simulation, club fitting, and the like. While technology advances have provided golf instructors with access to more data to analyze the golf swing, the complex control and configuration mechanisms have taken the instructor's focus away from the student and directed it toward the computer. This misdirected focus degrades the lesson and is distracting for both the instructor and the student. The present system and method automates most control mechanisms and allows the instructor and student to focus on swing analysis and modifications while the practice bay system passively works as a tool to automatically record and replay golf swings, identify and display key swing positions, track body, swing and club data, brighten and dim lights and switch projector views between a simulated driving range and slow motion replay of the last swing.

System Use Case: The simplest way to introduce the system is to walk through a use case. Reference is now also made to FIGS. 3 and 4 which are screen shots presented by system during operation.

A golfer walks into the facility and approaches the practice bay 150. At the end of the bay, he will see a projector screen 16 (positioned in front of him as he faces down the target line) showing (through either front or rear projection) a 2D/3D rendering of a driving range (or perhaps another golf related scene as described further herein). The screen may also serve as the ball capture net or surface. Alternatively, a practice net may be hung between the golfer and the screen. Still further, in a reduced cost implementation, one could choose not to implement the projector screen functionality.

Next to the golfer he will see a monitor 40 (such as a flat panel display) displaying the practice bay computer application. It is through this monitor screen that the golfer may interact with the system. For example, he could use a touch screen monitor (implemented through this monitor or the TruGolf monitor 18). It will be understood that another user interface type could be used to allow the golfer to interact with the simulator (such as keyboard 44 or mouse 46).

On the floor, near the golfer, a floor monitor 40 displays a live video image 200 as taken by the camera(s) 20 as well as the output 202 of the pressure mat 22. This monitor 40 may display other data as well, and examples of such are described below.

A plurality of spot lights 24 are mounted on the ceiling to illuminate the area where the golf swing occurs. These lights are chosen in terms of type and position to provide sufficient illumination such that the video cameras 20 can capture clear and well exposed images of the golf swing.

On the floor is a golfing turf surface implemented using artificial grass mats (and overlying the pressure mat 22) of the type conventionally found at driving ranges or other practice facilities. There is a hole in the turf where the automatic teeing mechanism 36 will present and tee the ball for striking.

Without touching a keyboard or otherwise interfacing with the simulator or its computer, the golfer could simply grab a club, stand on the artificial grass mat and setup to hit a ball. In the background, without golfer control, the system computer 30 samples the output of the pressure mat 22 and analyzes the golfer's stance. In particular, at this point in time, the system computer 30 is making the analysis of the pressure mat 22 data in an effort to try and recognize, from detected foot position and relative weight distribution, when the golfer has set up in address position. Once the stance has been recognized by the system computer 30 as a valid address position, the system functions at the direction of computer 30, through the controllable dimmers, to automatically turn on the studio (spot) lights so as to allow for sufficient illumination to be present for video capture. The system computer 30 still further responds to the detected address condition by actuating the automatic teeing and ball return mechanism to tee a golf ball up for striking.

The pressure mat 22 data is further evaluated by the computer 30, again with respect to foot position and relative weight distribution, and thus with calculated knowledge of set up distance from the teed golf ball, to make an educated guess (and a guess whose accuracy increases over time as the system computer monitors the golfer's detected address positioning and club selection) to control the teeing functionality of the automatic teeing and ball return mechanism 36 so as to adjust/control tee height. In other words, the system computer 30 automatically selects tee height based on inferring club type or shot type from the detected golfer's stance. For example, if the golfer is in a “driver” setup (such that the feet are detected spread farther apart, the teeing hole is near the heel of the front foot, and the feet are positioned farther away from the teed ball location, the system will suppose that the golfer is using a long club such as a wood (or metal wood) and correspondingly tee the presented golf ball up high. On the contrary, if the detected feet position of the golfer's stance are closer together and closer to the ball location, and with that ball location more towards the center or back of the stance, the system will suppose that the golfer is using a shorter club such as an iron and correspondingly tee the presented golf ball up low (i.e., at turf/ground level).

Still further, based on the stance information (foot spread, distance from the ball, ball positioning with respect to the feet) collected by the pressure mat 22, the system computer 30 can make an educated guess (and a guess whose accuracy increases over time as the system monitors the golfer's detected address positioning) as to what club has been selected by the golfer. This determined club selection information can be automatically sent to the golf simulator and club/ball monitor computer 12 to obviate the need for the golfer to interact with that part of the system and input club selection data. Of course, if the system-guessed club selection is not accurate, the golfer can override the choice and the system computer 30 will learn from its mistakes and make a better guess the next time.

As the golfer sets up (at address) to hit the ball, he can look down at the floor monitor 40 in front of him and see the live camera 20 views 200 showing his address positioning (from any selected and supported camera angle). The display from monitor 40 further shows 202 the position of his feet, as detected by the pressure mat, with the displayed foot position information annotated with color coded pressure intensity thus giving the golfer information at address concerning weight distribution as well as relative positioning of the ball in terms of foot location (i.e., forward in the stance, back in the stance, in the middle of the stance).

The golfer may then proceed to perform the golf swing and strike the teed golf ball. While the swing is occurring, the system computer 30 is storing video, pressure mat and other data in a time synchronized manner. After the ball is struck, a feedback signal is sent back to the control system computer 30 automatically from the golf simulator and club/ball monitor system computer 12. In response thereto, the studio lights 24 are dimmed (through the controllable dimmer equipment 26/28) in order to enhance the quality of the projected golf shot simulator image presented by projector 14 on screen 16 (and ensure that the golfer remains comfortable and not overwhelmed or overheated by the lights). More specifically, by dimming the studio lighting 24, video imaging issues with respect to glare and washout of the projected image are obviated. The golfer may then watch the simulated ball flight on the projector screen 16 which is rendered in 2D/3D by the golf simulator and club/ball monitor computer 12. In the background, while this occurs, the system computer 30 is automatically preparing and compressing the captured video and pressure mat sequences for display. The captured sequences are automatically “trimmed” to match the length (in time) of the golfer's swing based on the “tempo” measurement reported by the golf simulator and club/ball monitor computer 12. Once the ball flight rendering is complete, a feedback signal is sent back to the control system computer 30 automatically from the golf simulator and club/ball monitor computer 12 along with the following calculated swing and ball flight statistics: club head speed, club path, club face angle, ball speed, launch angle, carry distance, total distance, and distance left or right of center. In response to this feedback notification, the system computer 30 controls the video switch 34 with respect to the front screen projector 14 so as to switch the video feed of the projector from the golf simulator and club/ball monitor computer 12 to the captured video feed of the practice bay which recorded the golfer's swing from one or more angles. This video feed 200 of the actual swing can further include the swing and launch data 204 and captured pressure mat data 202 all correlated with other in time. This feed automatically replays the last swing in slow motion on the projector screen 16 along with other data including pressure mat data and club, ball and swing data. A screen shot of this video feed is shown in FIG. 3.

As soon as the golfer addresses the ball again, a ball is teed up, lights are turned on and the projector feed is switched back to the driving range view presented by of the golf simulator and club/ball monitor. The process described above is then repeated for the next swing/shot.

Thus, a feature of the system is the use of weight/pressure data collected by the pressure mat to control lighting within the practice bay. For example, the spot light may be controlled to automatically turn on when the weight of the golfer is sensed by the pressure mat and turn off when the golfer's weight is no longer sensed. Alternatively, the spot lights may be controlled to automatically turn on when the system senses, through the pressure mat that the golfer is at address position and about to begin the swinging motion, and then turn off following detection of impact or following conclusion of the swing (each such condition being detectable through analysis of the pressure mat data or through other sensor input). Additionally, the pressure mat data may be evaluated such that the spot lights are only turned on when the data indicates that the golfer is facing the teed ball and is in a balanced address position (such as when there is no more than a 10%, of other user selected percent, difference between the weight sensed at each foot).

At any point after taking a swing during a practice session, the golfer can analyze the swing in more detail by interfacing with the practice bay software using the wall monitor 40. The golfer can load any of the previous swings via a ‘Shot history’ list and can then use the ‘Video’ controls to overlay lines, lines with angles, ellipse and/or rectangle overlays which track, in known ways, the positions and angles of interest in evaluating and improving the golf swing. The golfer can control the playback of the previous swing using media controls: previous/next frame, playback rate (⅛ speed, ¼ speed, etc.), pause and “key frame” controls.

The concept of the key frame deserves some further explanation. It is recognized by those who teach the game and analyze swings that there are certain positions in the swing which are of more interest. Capturing and analyzing stop action video images of these certain positions is critical to the teaching experience. The video images at those positions are referred to as the key frames. Using the system controls, the user (golfer or instructor) can move through the recorded video of the swing and jump to and between “key” frames. This can be done in a manual mode where the video frame images are advanced and the user can select certain frames of interest. In an automated fashion, however, the system functions to analyze the swing data collected by the system and automatically select, from the overall swing video, certain image frames within the video as key frames and present those frames to the user for review, analysis and manipulation. When selecting a key frame, the system software presents the user with a list of key frames along with thumbnail images of the frame.

The operation for identifying the key frames relies on software algorithms executed by the system computer 30 which analyze reported swing tempo, speed and weight shift data to automatically calculate the location of those key frames. As an example, the supported key frames which can be automatically detected by the software analysis include: address, nine o'clock takeaway, top of the backswing, nine o'clock downswing, impact, three o'clock through swing, end of swing or finish.

Reference is now more specifically made to the screen shot in FIG. 4 which is presented by the system to the front projection screen. In addition to the information described and shown above in the screen shot of FIG. 3, it will be noticed that this screen shot further includes information concerning a log 210 of data concerning previous shots taken (i.e., a shot history). Additionally, it will be noted that the presented information shows a plan view 212 of a golf hole (which may be an imaginary hole or a simulated real hole). On this plan view, simulated ball fight path, based on the golfer's swing and ball striking, is tracked. It will thus be apparent that the present system, in addition to its use as a training tool, can further be used for entertainment. In the entertainment mode, the golfer may play a practice hole or round of golf, indoors within the practice bay. This activity may not only be entertaining, but can also be educational to the golfer in that it allows the golfer to move between clubs and shot types, and they would have to do during a real round, and evaluate club and shot selection in a simulated golf environment. In conjunction with this, the golf simulator and club/ball monitor can further render, on the projection screen in front of the golfer, a 2D/3D view of the simulated course (showing shot angles and obstructions). Weather conditions and affect on ball flight can further be simulated. This would allow the user to play selected courses from around the world without having to leave their neighborhood, or become familiar with a selected course before actually playing the course for real. Additionally, the entertainment option allows the user to enjoy a simulated round of golf in any weather condition since the practice bay is located indoors. Still further, because the simulated round does not require the player to walk in following their shots, or look for errantly played shots, a round can be completed in less than half the conventional amount of time.

Use of Pressure Mat 22 in the Analysis of the Golf Swing. The use of force plate technology to dynamically analyze a golfer's weight distribution during a golf swing is known in the art. What is not known, however, is to use an enhanced resolution array pressure mat as described herein in order to, generally speaking, analyze a golfer's weight distribution during a golf swing, and more specifically perform new and unique functionalities in support of swing analysis and simulated play. Advantageously, the Practice Bay System described herein utilizes a pressure mat 22 having superior pressure resolution to analyze pressure intensity and center of gravity in order to derive novel data and drive control mechanisms. A brief description of some processes, functionalities and advantages of the present invention which rely to some degree on the pressure mat data are now described:

1. Foot Recognition

After the system has captured a frame of foot sensor data, that data is filtered and raw values are converted into PSI values. An edge detection algorithm is then applied with a wide band filter. The edge detection algorithm takes as a parameter a minimum threshold value and an upper threshold value. This algorithm searches each row and each column within each row for the first cell that falls within the specified threshold bounds. Once this cell is found, the algorithm uses a search sequence to find the outer most adjacent cell within this threshold. The algorithm then applies the same search criteria for the next cell and so on. The result is a path that follows the outer edge of a pressure region that falls within a certain range. This same algorithm is used to identify gradient areas of pressures and used to color code regions within a pressure range. In the case of foot recognition, this algorithm is applied with a broad range of pressure values and results in a sequence of points that follow the outer edge of each foot. Once the outer edge path is found for each foot, the bounds of the foot are analyzed and used to identify the location and orientation of the foot.

2. Monitoring Foot Movement During the Swing.

An important part of a solid golf swing is lower body stability and balance. One of the key contributors to instability is the repositioning of the feet during the beginning of the down swing. A common flaw is raising the left heel (for a right handed player) during the back swing and then placing the left foot down in a different position at the beginning of the down swing. The Practice Bay system identifies the position of each foot (using the algorithm described in item 1 above) at the beginning of the swing and displays a persistent outline of that position throughout the swing. It can also calculate left heel displacement (in inches) providing easy diagnosis of this common fault. The persistent outline also makes it easier to correlate pressure intensity to an area of the foot (inner side versus outer side, toe versus heel).

3. Club Type Selector.

By observing the correlation between club selection, the golfer's foot position, and club head speed and ball launch conditions, the Practice Bay Software can guess which club a golfer is using based on observation over time. The golfer is provided with a user interface control to identify the currently selected club. As each swing is saved, the club used is recorded. The Practice Bay system records the correlation between stance width, distance from the ball and launch conditions (ball speed, launch angle, clubhead speed, etc . . . ). By collecting this data, the Practice Bay begins to “guess” the correct club by comparing the swing data for the last swing to the historical swing data for the golfer. Over time, the Practice Bay can “learn” from the golfer's usage and correctly guess the golfer's club selection. This is, once again, essential to the passive and automated nature of the Practice bay system.

4. Golfer “Ready” Position Detection.

The Practice Bay Software analyzes the golfer's foot position (using the algorithm described in item 1 above) and weight distribution real-time during the golfer's session. The system triggers a system event (Golfer Ready) when we detect the golfer is ready to hit a shot. We assume the golfer is ready when his stance meets the following criteria: He is standing facing the ball; The ball is somewhere aligned between the inner edges of either foot; His weight distribution is no more than 65% on either foot.

The system currently responds to the Golfer Ready event by: Turning the lights on using the DMX controller interface; Teeing the ball up using the automatic tee interface.

5. Tee Height Selector.

By observing the correlation between the golfers selected tee height (using feedback from the automatic teeing machine) and the golfer's stance width and, the Practice Bay Software automatically selects the correct tee height and automatically sets it to the golfer's preferences. The automatic tee allows the user to adjust the tee height using two infra-red detectors provided by automatic teeing system. The Practice Bay software monitors the changes to the tee height and records the selected tee height and foot positions for each swing. Once the Practice Bay system has collected sufficient data, it will begin automatically adjusting the tee height when the golfer takes the address position.

6. Stance Analysis.

Once the location of the feet can be identified, the following stance statistics can be calculated:

Ball position: The system is calibrated after installation by identifying the Pressure Mat array column that is aligned with the teeing location. After identifying the location of the golfer's feet, the system can then calculate the ball position as it relates to the golfers stance. The ball position is reported relative to the center of the golfer stance. For example: 1″ forward, 2.5″ back.

Distance from ball: The system is calibrated after installation by identifying the distance between the first Pressure Mat array row and the teeing location. After identifying the location of the golfer's feet, the system can then calculate the distance between the golfer's toes and the teeing position.

Open/closed stance (in degrees): After identifying the location of the golfer's feet, the system can calculate the stance angle using simple trigonometry.

Stance Width: After identifying the location of the golfer's feet, the system can calculate the golfer's stance width.

7. Hip Rotation Calculation

It is possible to estimate hip rotation (in degree units) by analyzing the weight distribution of each foot. This is accomplished by identifying the center of gravity of each foot and then generating a vector between those two center of gravity points and calculating the angle between those two points.

8. Swing “Key” Position Calculations.

Golf Instructors generally focus on and try to communicate with students on a few key positions in the golf swing. While other video and swing analysis systems allow you to manually identify a “key” position and later jump to it after identification, our system automatically identifies and plays back key positions using a combination of swing speed, tempo and weight shift analysis:

Address position: The address position is identified by first using the swing tempo as a hint. The Practice Bay System then looks at frames near the calculated beginning of the swing and uses motion analysis to find the point where the golfer's center of pressure begins to move toward the right side (for a right handed golfer.) The motion analysis algorithms filter out “false starts” using hysteresis analysis.

Top of back swing: The top of the backswing is identified by finding the last frame where the center of gravity was moving back to the right or the acceleration was below a certain threshold. The top of the back swing is really the last frame before the down swing. The down swing is usually easily identified by a sudden acceleration of the weight shift or a sudden and continued redirection of the weight shift. The Practice Bay Software considers both of these factors while searching for the top of the back swing.

9 o'clock (back swing): Once the top of the backswing has been identified, the 9 o'clock position can be found by finding the mid point between address and the top of the back swing.

Impact: Impact can be usually identified using sound detection. For example, a microphone can be place near the automatic teeing system and the output of the microphone monitored for the characteristic sound of a golf ball being struck. Alternatively, the golf simulator and club/ball monitor, which is already operating to detect club face position and swing path through the striking zone, can further be programmed to detect impact and provide a suitable control signal indicative of the same. Responsive to the timing of the striking sound or the striking feedback signal, the corresponding in time video frame can be identified and marked.

3 o'clock (through swing): The 3 o'clock position is calculated based on club head speed and time estimation.

Finish: The end of the swing is first estimated based on swing tempo and then refined based on motion analysis using the center of gravity calculations.

9. Center of Gravity Overlays.

Some students have trouble correlating weight transfer with body positions. The Practice bay system has an option that allows the center of gravity to be visually indicated in both the front and rear camera views. At installation, the relationship between the pixel coordinate system of each camera view is calculated with respect to the row, column locations of the Pressure Mat. Once the system is calibrated, the Practice Bay System can render dynamic indicators, using video overlays, to identify the golfer's center of gravity based on obtained pressure mat data. On other systems, golfers are required to visually move back and forth between the video view and the weight distribution views which is distracting. By indicating the weight distribution directly on the video frame, the correlation between body position and weight distribution is much easier to discern.

10. Key Position Tracking Models.

The Practice Bay system can monitor a golfer's weight distribution and motion (based on the direction of the weight transfer) and correlate that to key positions. Once the key position has been identified, a somewhat transparent model is overlay is applied to each video perspective indicating the correct position of the body for that key position. This allows the golfer to slowly move through the swing and automatically have the model track the golfer's position and display the correct key position for instance feedback.

11. Virtual Buttons.

The Practice Bay allows certain regions of the pressure array to be defined as control mechanisms. The Practice Bay will then monitor those regions as if they were physical buttons and send associated system control messages based on the users actuation of those buttons. This allows the user to interface with the system using their feet or club without leaving the hitting area. The following control mechanisms are supported: Play/Pause video; Next frame; Previous frame; Slow down play back rate; Speed up play back rate; Switch to “Golfer Ready” (projector view to driving range, lights on).

12. Fault Detection and Automated Feedback.

The Practice Bay supports mode of operation which can provide direct feedback to the golfer based on certain criteria. The system monitors the weight distribution and foot positions and allows the user to specify a correct profile:

Address weight distribution: A mode can be selected where the system will not tee the ball up or turn the lights on until the golfer's weight distribution matches the golfer's selection. The golfer is allowed to specify the desired weight distribution and tolerance.

Top of backswing: A mode can be selected where the system will remove the ball from view if the golfer didn't achieve the desired weight distribution at the top of the back swing. The golfer is allowed to specify the desired weight distribution and tolerance.

It will also be noted that the operation of the computer 30 and its associated equipment can be advantageously used for practice, training, instruction and fitting exercises without the presence of the golf simulator and club/ball monitor system (which uses computer 12 and its associated equipment).

Important aspects of the present invention are as follows:

1. Automatically dimming of lights after ball impact is detected or the swing is completed.

2. Automatically controlling area lighting using data from the pressure mat array based on weight thresholds (lights on when weight exceeds a threshold, lights off when weight is below a threshold).

3. Automatically controlling area lighting based on analysis of pressure array data where lights will not turn on unless that golfer is deemed to be facing the direction of the golf ball and has achieved a balanced address position (for example, no more than a 10% difference between weight placed on each foot, and where the percentage difference can be a user specified parameter).

4. Automatically identifying position of the feet during the swing using pressure data and deriving the following data: a. Ball position within golfer's stance (for example, the ball is 2″ forward of the center of stance); b. Stance width; c. Stance angle in degrees (for example, Stance is 15 degrees open or 20 degrees closed); d. The distance between the golfer and the ball; e. Foot displacement during the golf swing.

5. Display of initial foot position outline throughout the golf swing so that the initial foot position can easily be correlated with the current foot position.

6. Overlaying center of gravity marker on video so that center of gravity can easily be correlated with video.

7. Hip rotation calculation as discussed above.

8. use of Virtual buttons through the pressure mat to control operation.

9. Automated corrective feedback based on weight distribution as described above.

10. Automatically switching computer display input between two independent computer video sources. This gives the appearance of a seamless system even though in reality the content is sourced from two independent software applications with no requirement that either application is aware of the other.

11. Automatic control of tee height based on the distance the golfer is standing from the ball.

12. Automatically identifying key frames using pressure data.

13. Estimation of club identification in use based on distance the golfer is standing from the ball.

14. Estimation of club identification in use based on ball launch conditions (speed and angle) and further refined by the golfer's historical data.

Although preferred embodiments of the method and apparatus of the present invention have been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims. 

1. A golf swing analysis system, comprising: a pressure mat upon which a golfer stands to perform a golf swing; at least one camera operating to image the golfer during performance of the golf swing; at least one light source for illuminating the golfer; and a control circuit which responds to data output from the pressure mat to selectively control actuation/deactuation of the at least one light source.
 2. The system of claim 1 wherein the control circuit comprises a computer and a controllable dimmer, the computer receiving the data output from the pressure mat, processing same, and generating a control signal for application to the controllable dimmer to control actuation/deactuation of the at least one light source.
 3. The system of claim 1 wherein the pressure mat comprises a multisensor array pressure mat including at least 100 individual sensors arranged in an array format.
 4. The system of claim 1 wherein the control circuit further responds to a detection of ball impact during the golf swing to control deactuation of the at least one light source.
 5. The system of claim 1 wherein the control circuit responds to a detection of golfer weight on the pressure mat exceeded a certain threshold to control actuation of the at least one light source and further to a detection of golfer weight on the pressure mat not exceeded a certain threshold to control deactuation of the at least one light source.
 6. The system of claim 1 wherein the control circuit processes data output from the pressure mat to determine whether the golfer is facing in a certain direction and has achieved a certain weight balance, the control circuit responds to such determination to control actuation of the at least one light source.
 7. The system of claim 6 wherein the certain weight balance comprises less than a certain difference between pressure mat detected weight with respect to the golfer's left foot versus pressure mat detected weight with respect to the golfer's right foot.
 8. The system of claim 1 wherein the control circuit further responds to a detection of completion of the golf swing to control deactuation of the at least one light source.
 9. A golf swing analysis system, comprising: a pressure mat upon which a golfer stands to perform a golf swing; a control circuit which responds to data output from the pressure mat to determine relative foot position of the golfer; and a display coupled to the control circuit and on which the control circuit displays the determined relative foot position of the golfer.
 10. The system of claim 9 wherein the control circuit processes the data output from the pressure mat during performance of the golf swing to track and cause display of changes in the determined relative foot position of the golfer during the performance of the golf swing.
 11. The system of claim 9 wherein the control circuit processes the data output from the pressure mat to determine an outline of each of the golfer's feet, and cause display of the feet outlines.
 12. The system of claim 9 wherein a position of a ball to be struck by the golfer relative to the pressure mat is known, and wherein the control circuit processes the data output from the pressure mat to determine ball position within a stance of the golfer as represented by determined relative foot position.
 13. The system of claim 12 wherein the control circuit, based on determined ball position within the stance of the golfer, further determines a certain type of golf club being used by the golfer.
 14. The system of claim 12 further including an automatic golf ball teeing system and wherein the control circuit, based on determined ball position within the stance of the golfer, further determines a height at which the automatic golf ball teeing system should tee a golf ball to be struck by the golfer.
 15. The system of claim 9 wherein a position of a ball to be struck by the golfer relative to the pressure mat is known, and wherein the control circuit processes the data output from the pressure mat to determine a distance between the golfer and the ball.
 16. The system of claim 9 wherein the control circuit further responds to data output from the pressure mat to determine a stance width of the golfer.
 17. The system of claim 9 wherein the control circuit further responds to data output from the pressure mat to determine a stance angle of the golfer with respect to a desired target line.
 18. The system of claim 9 wherein the control circuit processes the data output from the pressure mat to determine a center of gravity for the golfer, and cause display of the center of gravity.
 19. The system of claim 9 wherein the control circuit processes the data output from the pressure mat during performance of the golf swing to track and cause display of changes in a determined center of gravity for the golfer during the performance of the golf swing.
 20. A golf swing analysis system, comprising: a pressure mat upon which a golfer stands to perform a golf swing; and a control circuit which responds to data output from the pressure mat to determine relative weight distribution between the feet of the golfer during the golf swing.
 21. The system of claim 20 further comprising a display coupled to the control circuit and on which the control circuit displays the determined relative weight distribution between the feet of the golfer during the golf swing.
 22. The system of claim 20 wherein the control circuit further processes the data output from the pressure mat during performance of the golf swing to track and cause display of changes in the determined relative weight distribution between the feet of the golfer during the performance of the golf swing.
 23. The system of claim 20 wherein the control circuit further processes the determined relative weight distribution between the feet of the golfer during the golf swing to determine hip rotation information with respect to the golfer.
 24. The system of claim 20 further comprising at least one camera operating to image the golfer during performance of the golf swing and an image storage system to store the images captured by the camera as plurality of image frames.
 25. The system of claim 24 wherein the control circuit further processes the determined relative weight distribution between the feet of the golfer during the golf swing to determine which ones of the stored plurality of image frames comprise key frames of the golf swing.
 26. The system of claim 25 wherein the key frames of the golf swing comprise address, top of the backswing, impact and finish.
 27. The system of claim 20 further including an automatic golf ball teeing system and wherein the control circuit, based on determined relative weight distribution between the feet of the golfer, further controls operation of the automatic golf ball teeing system.
 28. The system of claim 27 wherein the control circuit, based on determined relative weight distribution between the feet of the golfer, causes the automatic golf ball teeing system to not tee a ball for striking unless the determined relative weight distribution meets certain criteria.
 29. The system of claim 27 wherein the control circuit, based on determined relative weight distribution between the feet of the golfer, causes the automatic golf ball teeing system to remove a teed ball if the determined relative weight distribution fails to meet certain criteria.
 30. A golf swing analysis system, comprising: a pressure mat upon which a golfer stands to perform a golf swing; at least one camera operating to image the golfer during performance of the golf swing and generate a first video image; a golf simulator and club/ball monitor system which senses striking of a golf ball during the golf swing and generates a second video image presenting a simulation of ball flight; a display means; a video switch receiving first and second video images; and a control circuit which responds to data output from the pressure mat during the golf swing to control the video switch and cause the display means to present the first video image before ball impact and then present the second video image after impact.
 31. The system of claim 30 wherein the pressure mat comprises a multisensor array pressure mat including at least 100 individual sensors arranged in an array format, certain ones of the sensors defining virtual control buttons through which the golfer may control operation of the system.
 32. The system of claim 30 further including at least one light source for illuminating the golfer, the control circuit responding to data output from the pressure mat to selectively control actuation/deactuation of the at least one light source.
 33. The system of claim 30 wherein the control circuit which responds to data output from the pressure mat to determine relative foot position of the golfer and cause such relative foot position to be stored with the first video image.
 34. The system of claim 30 wherein the control circuit which responds to data output from the pressure mat to determine relative weight distribution of the golfer and cause such relative weight distribution to be stored with the first video image.
 35. The system of claim 34 wherein the control circuit further processes the determined relative weight distribution between the feet of the golfer during the golf swing to determine hip rotation information with respect to the golfer and cause such hip rotation information to be stored with the first video image.
 36. The system of claim 30 wherein the control circuit processes the data output from the pressure mat during performance of the golf swing to track changes in a determined relative foot position of the golfer during the performance of the golf swing and cause such foot position information to be stored with the first video image.
 37. The system of claim 30 wherein the control circuit processes the data output from the pressure mat to determine an outline of each of the golfer's feet, and cause such feet outline information to be stored with the first video image. 